/*
 * matching.h
 *
 *  Created on: 2013. 9. 23.
 *      Author: jjaehuny
 */

#ifndef PROJECTZ_NCOMMAND_MATCHING_H_
#define PROJECTZ_NCOMMAND_MATCHING_H_

#include <Network/Packet.h>

namespace ProjectZ {
class User;

namespace NLogic {
class Space;
} /*NLogic*/

} /*ProjectZ*/

namespace ProjectZ { namespace NCommand { namespace NMatching {

class CS_DUNGEON_MOB_CREATE
{
public:
	static void OnExecute( User * pUser, ::Network::Packet *pPacket );
};

class CS_DUNGEON_CARD_REWARD
{
public:
	static void OnExecute( User * pUser, ::Network::Packet *pPacket );

private:
	static bool IsOpen(NLogic::Space * pSpace, int opencard, int gid);
	static void SendPacket(User * pUser, int res, int openCard);
};

class CS_DUNGEON_ENABLE_MAP_CHANGE_READY
{
public:
	static void OnExecute( User * pUser, ::Network::Packet *pPacket );
};

class CS_DUNGEON_ENABLE_MAP_CHANGE
{
public:
	static void OnExecute( User * pUser, ::Network::Packet *pPacket );
};

class CS_MATCH_USER_INFO
{
public:
	static void OnExecute( User * pUser, ::Network::Packet *pPacket );
};

class CS_DUNGEON_GET_ITEM
{
public:
	static void OnExecute( User * pUser, ::Network::Packet *pPacket );
};

class CS_DUNGEON_PARTNER_INFO
{
public:
	static void OnExecute( User * pUser, ::Network::Packet *pPacket );
};

class CS_DUNGEON_OUT_REQ
{
public:
	static void OnExecute( User * pUser, ::Network::Packet *pPacket );
};

} /*NMatching*/ } /*NCommand*/ } /*ProjectZ*/

#endif /* PROJECTZ_NCOMMAND_MATCHING_H_ */
